草庐IT

idea 设置utf-8

全部标签

ruby - 如何在 Ruby 中将字符串转换为 UTF8

我正在编写一个使用Hpricot的爬虫。它从某个网页下载字符串列表,然后我尝试将其写入文件。编码有问题:"\xC3"fromASCII-8BITtoUTF-8我有在网页上呈现并以这种方式打印的项目:Développementstr.encoding返回UTF-8,因此force_encoding('UTF-8')没有帮助。我如何将其转换为可读的UTF-8? 最佳答案 您的字符串似乎被错误地编码了:"Développement".encode("iso-8859-1").force_encoding("utf-8")#=>"Dév

ruby-on-rails - Ruby on Rails "invalid byte sequence in UTF-8"由于机器人

我有一些由中文机器人触发的错误:http://www.easou.com/search/spider.html当它滚动我的网站时。我的应用程序版本都是Ruby1.9.3和Rails3.2.X这里是堆栈跟踪:AnArgumentErroroccurredinlistings#show:invalidbytesequenceinUTF-8rack(1.4.5)lib/rack/utils.rb:104:in`normalize_params'-------------------------------Request:-------------------------------*URL:

ruby-on-rails - 当您的 Gemfile 需要旧版本的 bundler 时如何将其设置为 `bundle install`?

我在一个有Gemfile的旧Rails项目中。我试图将gem添加到Gemfile和bundleinstall但出现错误:Bundlercouldnotfindcompatibleversionsforgem"bundler":InGemfile:rails(=3.0.0)rubydependsonbundler(~>1.0.0)rubyCurrentBundlerversion:bundler(1.1.5)ThisGemfilerequiresadifferentversionofBundler.它使用的Rails版本需要bundler~>1.0.0但我已经安装了1.1.5并且正在将它

Ruby 将 CSV 文件读取为 UTF-8 和/或将 ASCII-8Bit 编码转换为 UTF-8

我正在使用ruby1.9.2我正在尝试解析包含一些法语单词(例如spécifié)的CSV文件,并将内容放入MySQL数据库中。当我从CSV文件中读取行时,file_contents=CSV.read("csvfile.csv",col_sep:"$")返回的元素是ASCII-8BIT编码的字符串(spécifié变为sp\xE9cifi\xE9),然后像“spécifié”这样的字符串没有正确保存到我的MySQL数据库中。YehudaKatz表示ASCII-8BIT实际上是“二进制”数据,这意味着CSV不知道如何读取适当的编码。所以,如果我尝试让CSV强制编码如下:file_cont

ruby - 在本地覆盖 Vagrant 配置设置(每个开发)

我希望这个问题得到一般性的回答,但为了说明这一点,这里有一个用例:我将Vagrant用于一个简单的LMAP项目。我使用独立的Puppet进行配置。现在,可能有一些开发人员坐在代理后面,他们需要对VM进行一些额外的配置。我在Puppet方面有一些工作:我可以将代理IP(如果有的话)作为事实传递给Vagrantfile中的puppet,如果已设置,Puppet会做出相应的react。我唯一的问题是:开发人员如何为他们的开发环境指定/覆盖此设置,而不必更改Vagrantfile(它在版本控制下并且必须保持开发环境中立)?如果人们可以覆盖文件中的一些Vagrant设置,那就太棒了。Vagran

ruby - 设置Ruby中 float 的显示精度

在Ruby中可以设置float的显示精度吗?类似于:z=1/3z.to_s#=>0.33333333333333z.to_s(3)#=>0.333z.to_s(5)#=>0.33333或者我是否必须覆盖Float的to_s方法? 最佳答案 z.round(2)或x.round(3)是最简单的解决方案。参见http://www.ruby-doc.org/core-1.9.3/Float.html#method-i-round.也就是说,这只会确保它不超过那么多位数。在1/3的情况下没问题,但如果你说0.25.round(3)你会得到0

ruby-on-rails - 如何为 f.select 表单字段设置空白值

我正在使用以下内容允许我的用户在他们的个人资料中选择他们的性别。如果没有向user.sex列传递任何内容,我将如何创建列表默认的空白值?我只是将male或female作为字符串传递。目的是我想要一个空白值,这样验证可以确保他们知道他们必须选择它。 最佳答案 有两种可能性,具体取决于您的追求:include_blanktrue)%>这将始终在选择中包含一个空白选项,这将允许人们在编辑表单上看到此值时将值设置回空白值。提示"Gender...")%>这将包括指定的提示值,只要该字段尚未设置。如果它有(例如在编辑表单上),则无需提醒用户他

ruby - 导入csv数据时,如何去掉 "invalid byte sequence in UTF-8"

我们允许用户通过csv导入数据(使用ruby​​1.9.2,因此它是更快的csv)。作为用户数据,当然,它可能没有得到适当的清理。当我们尝试在/index方法中显示数据时,我们有时会收到错误“UTF-8中的无效字节序列”,指向我们显示字段widget.name之一的erb当我们进行导入时,我们希望强制传入的数据有效...是否有一个ruby​​运算符可以将字符串映射到有效的utf8字符串,例如,类似goodstring=badstring.no_more_invalid_bytes“坏”数据的一个示例是char,它看起来像连字符,但不是常规的ascii连字符。我们更愿意将非utf-8字符

ruby-on-rails - Rails 验证需要数字,即使 presence 未设置为 true

我正在尝试保存一个没有设置字段的记录——它在模型中有一个验证数字。即使验证中不需要存在,它仍然会抛出该字段不是数字的错误。验证:validates:network_id,:numericality=>true保存模型的代码:networks.eachdo|network|network.url=network.raw_data.linknetwork.save!end错误:Validationfailed:Networkisnotanumber 最佳答案 validates:network_id,:numericality=>tru

ruby - Ruby 实例变量什么时候设置?

classHello@hello="hello"defdisplayputs@helloendendh=Hello.newh.display我创建了上面的类。它不打印任何东西。我认为实例变量@hello是在类声明期间设置的。但是当我调用显示方法时,输出为“nil”。执行此操作的正确方法是什么? 最佳答案 Ruby中的实例变量在第一次学习Ruby时可能会有点困惑,特别是如果您习惯了另一种OO语言,如Java。您不能简单地声明一个实例变量。关于ruby​​中的实例变量,除了带有@符号前缀的符号外,最重要的事情之一是它们在第一次被分配给时